//----------------------------------------------------------------------------------------------//
//												//
//	Que tipo de programa é este?								//
//												//
//----------------------------------------------------------------------------------------------//

Este programa é um tipo de Expert Advisor.
Destina-se apenas à formação da IA integrada num programa de indicadores principal separado.
O utilitário de formação em IA é gratuito e pode ser descarregado na página principal do produto no site do MQL5.
Após o download, coloca-o manualmente na pasta do terminal.
Deve ser colocado na pasta onde estão os especialistas da série SolarTrade Suite.
ATENÇÃO: !!! Não o coloque na pasta com os indicadores, caso contrário não o conseguirá executar no testador de estratégias!!!
Para acelerar os cálculos, este programa utiliza o OpenCL. Para o executar, precisa de ter um
dispositivo apropriado - GPU ou CPU com boa placa gráfica integrada.
Certifique-se de que o dispositivo necessário está selecionado e ativado nas definições do terminal.


//----------------------------------------------------------------------------------------------//
//												//
//	Para que serve?										//
//												//
//----------------------------------------------------------------------------------------------//

Este utilitário foi desenvolvido para treinar ou retreinar as redes neuronais contidas na IA do indicador correspondente.
Recomenda-se a sua utilização com a maior frequência possível, mas não depois de um ou dois anos após a última utilização ou quando os consultores correspondentes foram habilitados pela primeira vez num símbolo não utilizado
anteriormente, ou se tiver passado um longo período de tempo desde o último treino,
ou se observar alterações significativas no comportamento do preço do símbolo utilizado.


//----------------------------------------------------------------------------------------------//
//												//
//	Elaborar um plano.									//
//												//
//----------------------------------------------------------------------------------------------//

Este indicador utiliza uma IA treinável para prever a ação futura dos preços.

A IA integrada é treinável, ou seja, sem treino prévio, não tem parâmetros e não será executada.
Portanto, a primeira coisa que precisa de fazer é preparar os dados para o treino da IA integrada.
Para tal, é necessário garantir que os dados históricos de preços do instrumento financeiro para o qual pretende utilizar este indicador estão disponíveis, seguindo os passos e requisitos básicos descritos abaixo.

Encontre a primeira data disponível no histórico de cotações no servidor da sua corretora para o símbolo da sua escolha - a forma mais fácil é abrir uma janela no terminal com o símbolo da sua escolha, alternar para o período mensal e selecionar a escala máxima,
de seguida, aguardar que todo o histórico disponível seja carregado do servidor e
encontrar a data da primeira vela. Esta técnica é necessária porque a IA integrada utiliza o histórico de preços dos últimos 9 anos como entrada para fazer uma previsão.

Nem todas as corretoras disponibilizam um volume tão grande de histórico disponível nos seus servidores.
De seguida, tente alternar temporariamente para outra corretora, onde exista um histórico mais longo, para
obter dados para treinar a IA e, em seguida,
regressar à sua corretora de negociação.
Por exemplo, para treinar a IA, obtive o histórico de cotações de
uma conta demo gratuita da corretora "MetaQuotes", onde, por exemplo, para a "EURUSD" existe
cotações anteriores a 1990, o que é o ideal para o nosso caso.

Não recomendamos a utilização da IA integrada em símbolos, onde
o histórico de cotações disponível seja inferior a 15 anos.
Por outro lado, o tempo máximo de histórico que este programa pode processar é de 40 anos.
Não recomendamos que exceda este limite.
Se a sua corretora fornecer um histórico mais longo, reduza o intervalo de tempo nas definições do testador de estratégias até que este cumpra os requisitos descritos.

O utilitário de formação de IA é gratuito e pode ser descarregado manualmente por si na
página principal do produto no site do MQL5. Após estudar cuidadosamente as instruções do
programa "Utilitário de Formação de IA", siga estes passos.

Ora, o nosso plano para, por exemplo, "EURUSD" é o seguinte:

- utilizando o utilitário para treinar a IA integrada, iniciaremos a etapa de aquisição de dados no testador de estratégias
a partir de 1 de Janeiro de 2000 e terminando na data de hoje. Isto deve ser feito
num período mensal com a otimização desativada e o teste de avanço desativado utilizando a opção "OHLC em M1".

Este programa utiliza o "OpenCL" para acelerar os cálculos. Para o executar, precisa de um dispositivo apropriado - um GPU ou CPU com bons gráficos integrados.
Uma GPU simples de 10 anos com mais de 3 gigabytes de memória é suficiente.
Certifique-se de que o dispositivo necessário está selecionado e ativado nas definições do terminal.
Para um passo intermédio, precisamos de executar o utilitário de treino de IA numa janela de terminal comum, mas
não no testador de estratégias. Para tal, abra uma nova janela no terminal, caso ainda não tenha sido feita,
com um gráfico do símbolo que necessitamos em qualquer período:

- Execute o utilitário de treino de IA nesta janela.
Assumindo que fizemos tudo corretamente nos passos anteriores, deverá aparecer um comentário na janela onde
o programa é iniciado, indicando o estágio e o erro atual atingido no processo de formação. Simplesmente não faça mais nada e
aguarde calmamente até que o processo de formação seja concluído automaticamente.

//----------------------------------------------------------------------------------------------//
//												//
//Como obter o ficheiro de dados de entrada para treinar as redes neuronais correspondentes?	//
//												//
//----------------------------------------------------------------------------------------------//

Para obter os dados de treino e, consequentemente, o treino propriamente dito,
É necessário executar este programa várias vezes no testador de estratégias
e, em seguida, alternadamente, numa janela de terminal comum.

Há 16 etapas envolvidas aqui:

- São recolhidas estatísticas especiais nas duas primeiras etapas,
- A partir da terceira etapa, são preparados os dados de treino diretamente, onde, após cada
passagem no testador de estratégias, é necessário executar este utilitário numa janela de terminal comum.

Lista de estágios:

- 1) Forward_RNG,

- 2) Backward_RNG,

- 3) Forward_M1,
- lançamento intermédio fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 4) Forward_M5,
- lançamento intermédio fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 5) Forward_M30,
- lançamento intermédio fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 6) Forward_H4,
- lançamento intermédio fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 7) Forward_D1,
- lançamento intermédio fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 8) Forward_W1,
- lançamento intermédio fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 9) Forward_MN1,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 10) Backward_MN1,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 11) Backward_W1,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 12) Backward_D1,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 13) Backward_H4,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 14) Backward_M30,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 15) Backward_M5,
- inicialização intermédia fora do testador de estratégia na janela normal do terminal para treinar a IA integrada,

- 16) Backward_M1,
- Lançamento final fora do testador de estratégia numa janela de terminal comum para treinar a IA integrada.

Se estiver a preparar a IA para o símbolo selecionado pela primeira vez,
ou se tiver decorrido um longo período de tempo desde o último treino,
ou se observar alterações significativas no comportamento do preço do símbolo utilizado,
terá de executar estas etapas em sequência estrita de 1 a 16.

Todas as etapas descritas acima devem ser executadas estritamente na sequência descrita, caso contrário,
ao iniciar o indicador, ocorrerá um erro com uma mensagem sobre a necessidade de repetir
o treino na sequência estrita descrita.

!!! ATENÇÃO: Todo o trabalho no testador de estratégias deve ser realizado apenas no período "MN1" e
certifique-se de que pelo menos 108 velas do período "MN1" ou
10 anos estejam disponíveis a partir do início da data de teste!!! Isto é necessário porque
a IA integrada utiliza aproximadamente 9 anos de histórico de preços como entrada para fazer uma previsão.

Por exemplo: se a data de início no testador de estratégia for 2000, então
o histórico de preços disponível deverá iniciar-se em 1990.
Assim, é necessário utilizar um período mensal,
pois este histórico de preços não estará disponível em períodos inferiores.

Execute o testador de estratégia com a otimização DESATIVADA num período mensal,
utilizando o maior intervalo de tempo de histórico disponível possível para este símbolo,
pelo menos quatro vezes mais do que planeia utilizar para otimização.

Para agilizar, este passo pode ser realizado utilizando apenas "preços OHLC em M1" e
nunca utilize "apenas preços de abertura", pois isso requer os preços máximo e mínimo de cada vela.
Não é recomendado utilizar aqui o modo "a cada tick" ou "ticks reais",
pois isso apenas aumentará o tempo de recolha de dados.


//----------------------------------------------------------------------------------------------//
//												//
//	Como iniciar o treino de IA?   								//
//												//
//----------------------------------------------------------------------------------------------//

Isto só é possível após receber os dados de entrada para treino do testador de estratégia, após os passos anteriores correspondentes descritos acima.
Para iniciar o processo de treino, após cada etapa preliminar no testador de estratégias,
precisa de executar este programa numa janela de terminal normal, e não no testador de estratégia.


//----------------------------------------------------------------------------------------------//
//												//
//	Descrição das opções de menu deste programa.						//
//												//
//----------------------------------------------------------------------------------------------//

Existem dois grupos de parâmetros:

- "Estágio"

Este grupo de parâmetros só é válido no testador de estratégias - não na janela regular.

- "Aprender"

Este grupo de parâmetros só é válido fora do testador de estratégias - na janela regular.

Grupo "Estágio"

Aqui existe apenas um parâmetro - "Estágio" - e existem 16 opções:

- 1) Avançar_RNG,
- 2) Recuar_RNG,
- 3) Avançar_M1,
- 4) Avançar_M5,
- 5) Avançar_M30,
- 6) Avançar_H4,
- 7) Avançar_D1,
- 8) Avançar_W1,
- 9) Avançar_MN1,
- 10) Recuar_MN1,
- 11) Recuar_W1,
- 12) Recuar_D1,
- 13) Recuar_H4,
- 14) Recuar_M30,
- 15) Recuar_M5,
- 16) Recuar_M1

Grupo "Aprender"

1) SímboloNM: - Se o símbolo do gráfico no qual o programa de treino é iniciado corresponder a
um treino símbolo de dados, este campo pode ser deixado em branco; caso contrário,
introduza o nome do símbolo manualmente. Por exemplo: "EURUSD" ou "XAUUSD" ou "BTCUST"...

2) DeviceAI: - 0 - significa seleção automática do dispositivo OpenCL, ou
procure no terminal, no painel "ferramentas", no separador "especialistas", uma lista de dispositivos com
os números correspondentes e utilize o que necessita. Esta lista aparecerá após iniciar o programa.

3) ButtonSz: - Este é o fator de multiplicação para o tamanho do objeto do botão STOP.
Pode ser utilizado se o programa não conseguiu calcular o tamanho automaticamente ou
não for adequado para si. Por exemplo, "2" duplicará o tamanho e "0,5" reduzi-lo-á em 2 vezes.

4) TextSize: - Este é o fator de multiplicação para o tamanho do texto do botão STOP.
Pode ser utilizado se o programa não conseguiu calcular o tamanho automaticamente ou
não for adequado para si. Por exemplo, "2" duplicará o tamanho e "0,5" reduzi-lo-á para metade.


//----------------------------------------------------------------------------------------------//
//												//
//	Características de utilização deste programa.						//
//												//
//----------------------------------------------------------------------------------------------//

O utilitário de formação de IA é gratuito e pode ser descarregado manualmente na página principal do produto no site do MQL5.
Antes de começar, certifique-se de que o seu computador cumpre os requisitos mínimos de hardware:

- 20 gigabytes de espaço livre em disco rígido,
- 4 gigabytes de placa gráfica com suporte OpenCL,
- 16 gigabytes de RAM.

ATENÇÃO: - Os ficheiros de parâmetros de IA para cada símbolo ocupam aproximadamente 1 gigabyte.

Certifique-se também de que o suporte OpenCL está ativado nas definições do terminal e que o dispositivo apropriado está selecionado.
Verifique por si mesmo: "Quantos programas em execução simultânea o seu GPU,
CPU e RAM suportam?", por exemplo, utilizando o "Gestor de Tarefas do Windows".

Dependendo da capacidade do seu computador (CPU, GPU,
RAM e disco rígido), pode demorar algum tempo a arrancar o programa após o arranque,
por isso, não se preocupe se nada aparecer na janela de arranque imediatamente - basta aguardar,
menos que o programa deixe de funcionar.

Ao iniciar fora do testador de estratégias, será apresentado um botão "PARAR" no canto inferior direito da janela do programa. É melhor utilizá-lo se não quiser esperar pela conclusão automática, pois isto garante que os parâmetros da IA treinada serão guardados no disco rígido.
E aqui, também, pode demorar algum tempo até que o programa seja concluído após premir o botão "PARAR",
como na inicialização. Tente não o interromper à força, mas aguarde pacientemente pela conclusão automática.

Ao iniciar o "AI Learn Utility", na janela do programa em execução, verá o erro calculado
de cada rede neural incluída no conjunto geral.

O cálculo do erro e a previsão em si são feitos utilizando métodos avançados de análise matemática, estatística e aprendizagem automática, mas o preço de um instrumento financeiro pode ser afetado por outros eventos que não são considerados por tais métodos, tais como intenções políticas, eventos ambientais, condições meteorológicas, etc.

Todos os parâmetros são guardados no disco rígido na pasta do terminal "//Common//Files//SolarTradeSuite//Theia//...".
Se tiver um link para descarregar os parâmetros prontos para a IA, após o download, copie-os aqui.

Não se esqueça de fazer o backup manualmente dos parâmetros da IA para uma pasta separada que tenha criado você mesmo.

Se não gostar da IA treinada anteriormente, basta encontrar as subpastas correspondentes com os nomes
do indicador correspondente na pasta especificada acima - apague os ficheiros. Depois disso, pode treinar a IA a partir do zero.


//----------------------------------------------------------------------------------------------//
//												//
//	Perguntas adicionais.									//
//												//
//----------------------------------------------------------------------------------------------//

O utilitário de formação de IA é gratuito e pode ser descarregado manualmente na
página principal do produto no site MQL5.
Todas as instruções estão disponíveis e podem ser descarregadas manualmente na
página principal do produto no site MQL5. Leia todas as instruções e o
ficheiro de licença com atenção antes de colocar qualquer questão.

1) Sinta-se à vontade para colocar questões no separador de discussão na página do indicador correspondente no site MQL5.com.

2) E-mail para comunicação: gerasimovadam@gmail.com, tgwls2@gmail.com.